#include<bits/stdc++.h>
using namespace std;
int p[100005];
int d[100005];
int vx[100005];
int a[100005];
bool z[100005];
map<int,int> dag;
int main(){
	freopen("detect.in","r",stdin);
	freopen("detect.out","w",stdout);
	int n,m,tk,v,l;
	cin>>tk;
	while(tk--){
		cin>>n>>m>>l>>v;
		for(int i=0;i<n;i++){
			cin>>d[i]>>vx[i]>>a[i];
		}
		for(int i=0;i<m;i++){
			cin>>p[i];
		}
			
		for(int i=0;i<n;i++){
			int vb;
			if(a[i]>=0){
				for(int j=0;j<m;j++){
					vb=sqrt(2*a[i]*p[j]+vx[i]*vx[i]);
					if(vb>v){
						for(int l=j+1;l<m;j++){
							dag[l]++;
						}
						z[i]=1;
					}
				}
			}else{
				for(int j=0;j<m;j++){
					dag[j]++;
				}
				if(vx[i]>v){
					dag[0]--;
					z[i]=1;
				}
			}
		}
		int ans=0,qiu=0;
		for(int i=0;i<n;i++){
			if(z[i]==1){
				ans++;
			}
		}
		for(auto x:dag){
			if(x.second==n){
				qiu++;
			}
		}
		cout<<ans<<' '<<qiu;
	}
	return 0;
	//fclose(stdin);
	//fclose(stdout);


}
